package org.study.r2dbc.boot.service;

import org.study.r2dbc.boot.model.User;
import reactor.core.publisher.Flux;
import reactor.core.publisher.Mono;

/**
 * 作用描述
 *
 * @author doveylovey
 * @version v1.0.0
 * @email 1135782208@qq.com
 * @date 2025年04月02日
 */
public interface UserServiceByConnectionFactory {
    /**
     * 创建用户
     */
    Mono<User> insertUser(User user);

    /**
     * 查询所有用户
     */
    Flux<User> findAll();

    /**
     * 根据ID查询用户
     */
    Mono<User> findById(Long id);

    /**
     * 更新用户
     */
    Mono<User> update(User user);

    /**
     * 删除用户
     */
    Mono<Boolean> delete(Long id);
}
